package com.yuebu.yuebubtlib.listener;


import com.yuebu.yuebubtlib.bean.DeviceTimeBean;
import com.yuebu.yuebubtlib.exception.BLEException;

public interface BluetoothSignalListener {
    /**
     * 设备连接成功
     */
    void onConnected(String mac);

    /**
     * 设备连接失败
     */
    void onConnectionFailed(BLEException bleException, int status);

    /**
     * 设备断开连接
     */
    void onDisconnect();

    /**
     * 获取设备的mac地址
     *
     * @param macAddress
     */
    void onReceiveMacAddress(String macAddress);

    /**
     * 获取设备的固件版本
     */
    void onReceiveDeviceFirmwareVersion(String versionCode);

    /**
     * 设置手环时间
     */
    void onSetDeviceTimeResponse(boolean isSuccess);

    /**
     * 读取手环时间
     */
    void onReadDeviceTime(DeviceTimeBean bean);

    /**
     * 清除手环数据是否成功
     *
     * @param isSuccess
     */
    void onClearDataResponse(boolean isSuccess);

    /**
     * 设置用户信息是否成功
     */
    void onSetPersonalInfoResponse(boolean isSuccess);

    /**
     * 获取电量
     */
    void onGetDeviceBattery(String battery);

    /**
     * 设置久坐闹钟
     */
    void onSetSedentaryAlarm(boolean isSuccess);

    /**
     * 摇一摇拍照  在回调中打开相机
     */
    void onTakePhotoSuccess();

    /**
     * 设置手环参数成功
     */
    void onSetDeviceParameterResponse(boolean isSuccess);

    /**
     * 查找手环成功
     */
    void onFindDeviceSuccess();

    /**
     * 获取实时步数
     */
    void onReadDeviceRealStep(Long step);

    /**
     * @param record_step_steps 计步模式下的数据
     * @param deepSleep         深度睡眠
     * @param lightSleep        浅度睡眠
     */
    void onReadDeviceSportAndSleepDataResponse(Long record_step_steps, int deepSleep, int lightSleep);

    /**
     * app推送消息到手环
     */

    void onAppPushToDeviceResponse(boolean isSuccess);

    /**
     * 控制手环
     */
    void onControlDeviceResponse(boolean isSuccess);

    /**
     * 读取心率的回调
     *
     * @param heartRate
     */
    void onReadHeartRateResponse(int heartRate);

    /**
     * 读取血压的回调
     *
     * @param highPressure
     * @param lowPressure
     */

    void onReadBloodpressure(int highPressure, int lowPressure);


}
